package 集合进阶.单列集合.List集合.Set集合;

public class 哈希值 {
    public static void main(String[] args) {
        //1.创建对象
        Student s1=new Student("zhangsang",23);
        Student s2=new Student("zhangsang",23);

        //2.如果没有重写hashCode 方法，不同的对象计算出的哈希值是不同的
        System.out.println(s1.hashCode());//284720968
        System.out.println(s2.hashCode());//189568618

        //3.如果以及重写了，不同的对象只要属性值相同，计算出的哈希值就是一样的。
        System.out.println(s1.hashCode());//1951527877
        System.out.println(s2.hashCode());//1951527877

        //3.在小部分情况下，不同的属性值或者不同的地址值计算出来的哈希值也有可能一样（哈希碰撞）
        System.out.println("abc".hashCode());//96354
        System.out.println("acD".hashCode());//96354
    }
}
